package com.xnyzc.lhy.didi.entity.price;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 特殊时间段计费配置
 *
 * @author liuju
 * @since 2019-08-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "OaSysBillSpecialRules对象", description = "特殊时间段计费配置")
public class OaSysBillSpecialRules implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(value = "special_rules_id", type = IdType.INPUT)
    private Long specialRulesId;

    @ApiModelProperty(value = "计费规则ID")
    private Long rulesId;

    @ApiModelProperty(value = "开始时间")
    private String startTime;

    @ApiModelProperty(value = "结束时间")
    private String endTime;
    @ApiModelProperty(value = "起步价")
    private BigDecimal startFee;
    @ApiModelProperty(value = "起步价里程")
    private BigDecimal startFeeMileage;
    @ApiModelProperty(value = "起步价时长")
    private BigDecimal startFeeTime;
    @ApiModelProperty(value = "里程费")
    private BigDecimal specialMileageFee;

    @ApiModelProperty(value = "时长费")
    private BigDecimal specialTimeFee;

    @ApiModelProperty(value = "远途费")
    private BigDecimal specialDistanceFee;

    @ApiModelProperty(value = "服务费")
    private BigDecimal specialServiceFee;

    @ApiModelProperty(value = "等待费")
    private BigDecimal specialAwaitFee;

    @ApiModelProperty(value = "超出多少时间收取等待费")
    private Integer specialTimeOutAwaitFee;

    @ApiModelProperty(value = "大于多少公里收取空驶费")
    private Integer specialGreaterKilometreEmptyDriving;

    @ApiModelProperty(value = "收取空驶费比例")
    private BigDecimal specialEmptyDrivingProportion;

    @ApiModelProperty(value = "是否删除(0:否,1:是)")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty(value = "创建人")
    private Long createUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    private Long updateUser;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "用户来源")
    private String tag;


    public static final String SPECIAL_RULES_ID = "special_rules_id";

    public static final String RULES_ID = "rules_id";

    public static final String START_TIME = "start_time";

    public static final String END_TIME = "end_time";

    public static final String SPECIAL_MILEAGE_FEE = "special_mileage_fee";

    public static final String SPECIAL_TIME_FEE = "special_time_fee";

    public static final String SPECIAL_DISTANCE_FEE = "special_distance_fee";

    public static final String SPECIAL_SERVICE_FEE = "special_service_fee";

    public static final String SPECIAL_AWAIT_FEE = "special_await_fee";

    public static final String SPECIAL_TIME_OUT_AWAIT_FEE = "special_time_out_await_fee";

    public static final String SPECIAL_GREATER_KILOMETRE_EMPTY_DRIVING = "special_greater_kilometre_empty_driving";

    public static final String SPECIAL_EMPTY_DRIVING_PROPORTION = "special_empty_driving_proportion";

    public static final String DELETED = "deleted";

    public static final String CREATE_USER = "create_user";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_USER = "update_user";

    public static final String UPDATE_TIME = "update_time";

    public static final String TAG = "tag";

}
